ソフトウェアとは

提供: 有限会社 工房 知の匠

文責: 技術顧問 大場 充

更新: 2021年9月30日

目的とねらい

20世紀の中頃、第2次世界大戦が終わったアメリカの大学で、世界で初めて電子回路で動くコンピュータが開発されました。その時、コンピュータは、その誕生の百数十年前にイギリスの数学者が考えていたように、決められた計算を間違いなく、驚異的な速さで行う、単純な「計算する機械」でしかありませんでした。使い道は、大砲の弾がどのように飛ぶかを、精確に計算することなどでした。しかし、それから10年ほどが過ぎた頃から、コンピュータは、色々な目的で使われるようになりました。

コンピュータそのものは、計算を高速に実行する機械です。そのコンピュータを、色々な目的に利用するためには、目的のためにどんな入力を与えて、どのようにそれらの入力したデータを処理して、どんな結果を得るかを決め、それをコンピュータ上で行う「プログラム」が必要になります。コンピュータをいろいろな目的に利用するためには、それぞれの目的のために別々のコンピュータを使うのではなく、それぞれの目的を達成するための別々のプログラムが必要になります。

つまり、コンピュータの利用が多様になることは、実は、たくさんの種類のプログラムが作られなければなりません。そのことに気付いた人間の社会は、プログラムを作ることを、新しく「仕事」として考え出し、その仕事に「たずさわる人々」を育てるための教育を整えることにしました。それは、大学教育に、プログラムを作ること」を専門的に教える学科を作り、その学科で何を教えなければならないのかを決めることでした。そのようにして、アメリカの社会では、大学に「コンピュータ科学」と言う専門が作られました。

ここでは、その「コンピュータ科学」では、何を問題として、どのようなことを教えているのかを、できるだけ専門的な言葉を使わずに説明します。さらに、そのようなことを学んだ専門的なプログラマ(「プログラムを作る人々」のこと)が、現在、仕事の現場で直面している問題についても説明し、私たちが日常生活で利用している様々な製品を作るために、プログラムが至る所で使われており、そのことによって、これから「どのような難しい問題」が起こるかも知れないのかについて考えてみます。

目次

この文書の構成は、以下の通りです。

第1章 はじめに 〜 説明と誤り
第1節 ことばと説明(2021年8月5日更新)
第2節 説明と論理(2021年8月5日更新)
第3節 説明と誤り(2021年8月6日更新)

第2章 説明の仕方 〜 間違いのない説明方法を探した哲学の歴史
第1節 ソクラテスはものごとをどう説明したのか(2021年8月6日更新)
第2節 アリストテレスは形而上学をどう書いたのか(2021年8月6日更新)
第3節 トマス・アキュナスは神がいることをどう説明したのか(2021年8月6日更新)

第3章 コンピュータとプログラム 〜 誤りのない計算を目指した人類
第1節 コンピュータの歴史(2021年8月20日更新)
第2節 コンピュータを使った計算とその方法(2021年8月8日更新)

第4章 コンピュータと数学 〜 数学者とコンピュータの関係
第1節 18世紀までの数学の進歩(2021年9月7日更新)
第2節 現代数学の歩みとコンピュータ(2021年9月7日更新)

第5章 コンピュータやソフトウェアの誤り 〜 どうやって誤りのない計算をさせるか
第1節 ソフトウェアをどう作るか(2021年9月7日更新)
第2節 コンピュータの作り方を間違えると(2021年9月7日更新)
第3節 ソフトウェアの書き方・作り方を間違えると(2021年9月7日更新)

第6章 ソフトウェア作りの難しさ 〜 間違いのないソフトウェアは作れない
第1節 大きなソフトウェアを作る難しさ(2021年9月7日更新)
第2節 社会は変化する(2021年9月7日更新)

第6章 おわりに 〜 間違いがあるソフトウェアを利用する社会
人間社会の危うさ(2021年9月30日更新)